// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.entity;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fowo.api.common.annotaion.*;
import com.fowo.api.common.mybatis.handlers.SysFileListTypeHandler;
import com.fowo.api.sys.entity.SysFile;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * ProductCustomsInfo
 */
@DS("ds24")
@Getter
@Setter
@TableName(value = "product", autoResultMap = true)
@Schema(title = "产品报关清关信息")
public class ProductCustomsInfo implements Serializable {

  /**
   * SKU
   */
  @TableField(value = "`sku`")
  @Schema(title = "SKU")
  private String sku;

  /**
   * 申报单价
   */
  @TableField(value = "`customs_charges`")
  @Schema(title = "申报单价")
  private java.math.BigDecimal customsCharges;

  /**
   * 申报货币
   */
  @TableField(value = "`customs_currency`")
  @Schema(title = "申报货币")
  private String customsCurrency;

  /**
   * 中文报关名
   */
  @TableField(value = "`chinese_name`")
  @Schema(title = "中文报关名")
  private String chineseName;

  /**
   * 英文报关名
   */
  @TableField(value = "`english_name`")
  @Schema(title = "英文报关名")
  private String englishName;

  /**
   * 报关单位
   */
  @TableField(value = "`exporter`")
  @Schema(title = "报关单位")
  private String exporter;

  /**
   * 报关规格型号
   */
  @TableField(value = "`export_model`")
  @Schema(title = "报关规格型号")
  private String exportModel;

  /**
   * 原产地
   */
  @TableField(value = "`original_place`")
  @Schema(title = "原产地")
  private String originalPlace;

  /**
   * 境内货源地
   */
  @TableField(value = "`china_source`")
  @Schema(title = "境内货源地")
  private String chinaSource;

  /**
   * 征免
   */
  @TableField(value = "`exemption`")
  @Schema(title = "征免")
  private String exemption;

  /**
   * 特殊属性
   */
  @TableField(value = "`special_properties`")
  @Schema(title = "特殊属性")
  private String specialProperties;

  /**
   * 材质
   */
  @TableField(value = "`customs_material`")
  @Schema(title = "材质")
  private String customsMaterial;

  /**
   * 用途
   */
  @TableField(value = "`customs_use`")
  @Schema(title = "用途")
  private String customsUse;

  /**
   * 内部编码
   */
  @TableField(value = "`customs_code`")
  @Schema(title = "内部编码")
  private String customsCode;

  /**
   * 出口享惠情况
   */
  @TableField(value = "`customs_discounts`")
  @Schema(title = "出口享惠情况")
  private String customsDiscounts;

  /**
   * 品牌类型
   */
  @TableField(value = "`customs_brand`")
  @Schema(title = "品牌类型")
  private String customsBrand;

  /**
   * 产品型号
   */
  @TableField(value = "`customs_model`")
  @Schema(title = "产品型号")
  private String customsModel;

  /**
   * 配货备注
   */
  @TableField(value = "`customs_remark`")
  @Schema(title = "配货备注")
  private String customsRemark;

  /**
   * 织造方式
   */
  @TableField(value = "`customs_weave`")
  @Schema(title = "织造方式")
  private String customsWeave;

  /**
   * 更新人
   */
  @TableField(value = "`last_update_user`")
  @Schema(title = "更新人")
  private Long lastUpdateUser;

  /**
   * 更新时间
   */
  @TableField(value = "`last_update_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "更新时间")
  private java.util.Date lastUpdateTime;

  /**
   * 创建人
   */
  @TableField(value = "`create_user`")
  @Schema(title = "创建人")
  private Long createUser;

  /**
   * 创建时间
   */
  @TableField(value = "`create_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "创建时间")
  private java.util.Date createTime;

  /**
   * 删除标记
   */
  @TableField(value = "`del_flag`")
  @TableLogic
  @Schema(title = "删除标记")
  private Boolean delFlag;

  /**
   * 编号
   */
  @TableField(value = "`id`")
  @TableId(type = IdType.ASSIGN_ID)
  @Schema(title = "编号")
  private Long id;

  /**
   * 清关图片
   */
  @TableField(
    value = "`customs_img`",
    typeHandler = SysFileListTypeHandler.class
  )
  @Schema(title = "清关图片")
  private List<SysFile> customsImg;
}
